In recent years, plug-in programs are in practical use, in which software that is on the Internet is downloaded to a PC (Personal Computer) and used in application programs. These plug-in programs include Adobe Flash Player and Oracle Java® Plug-In, and those plug-in programs are dynamically installed in an application program referred to as a “browser”. Commonly known browsers are Microsoft Internet Explorer, Mozilla Foundation Firefox, Apple Safari, and Google Chrome. Other application programs include video editing software, for example, Pegasys video-file conversion software TMPGEnc that is plug-in software for video conversion, which is prepared for each video format such as MPEG, AVI, or FLV.
In the present specification, the term “add-on” is defined as a conceptual “function” that lacks a substance showing the workings of an object, and the term “plug-in” is defined as “software” that has a substance having a function incorporated therein. Further, the term “host” means software present on the main unit side, in which a plug-in is installed. In the aforementioned example, the browser is a host, and the Flash Player is a plug-in.
In the incorporated field, software of a multifunction machine can be sometimes dynamically extended via the Internet.
It is described in Patent Literature 1 that a host computer, connected to a printer via a LAN, obtains function information that is present within a search-target range described in a search-target information list within a search-target information-list UI control module, writes the obtained function information to a function-information list, displays a part of the function information written into the function-information list in a display field on a printer-function setting screen, receives an instruction to add, update, or delete a function that corresponds to the displayed function information, and executes addition, update, or deletion of the function according to the received instruction. According to Patent Literature 1, it is suggested that due to this configuration, a function can be added, updated, or deleted using a plug-in module connected to a driver main-body module.
Meanwhile, the plug-in security has become a social issue. Although a function can be dynamically added, a malicious function may possibly be added, which causes a risk in the entire system. Therefore, for the purpose of improving the plug-in security, there is a commonly known method to execute a plug-in in a process space separate from that of a host program.
It is described in Patent Literature 2 that in a computer device, when a plug-in is confirmed to be reliable, an application passes information to the plug-in, so that the plug-in is executed as a separate process from that of a parent application. According to Patent Literature 2, it is suggested that due to this configuration, the plug-in is executed in its own process space, and therefore the plug-in, which behaves improperly, does not damage the parent application.